package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.ReportSiteAuditDTO;
import com.eastfair.home.entity.ReportSiteAudit;
import com.eastfair.home.vo.ReportSiteAuditVO;

/**
 * <p>
 * 业务接口
 * 报馆展位基本信息审核记录
 * </p>
 *
 * @author dq
 * @date 2022 -08-08
 */
public interface ReportSiteAuditService extends SuperService<ReportSiteAudit> {

    /**
     * 报馆审核ID查询展位信息审核VO.
     *
     * @param reportSpaceAuditId the report space audit id
     * @return the report site audit vo by report space audit id
     */
    ReportSiteAuditVO getVOByReportSpaceAuditId(Long reportSpaceAuditId);

    /**
     * 报馆审核ID查询展位信息审核.
     *
     * @param reportSpaceAuditId the report space audit id
     * @return the report site audit by report space audit id
     */
    ReportSiteAudit getByReportSpaceAuditId(Long reportSpaceAuditId);

    /**
     * 报馆ID查询展位信息审核记录.
     *
     * @param reportSpaceId the report space id
     * @return the report site audit by report space id
     */
    ReportSiteAudit getByReportSpaceId(Long reportSpaceId);

    /**
     * 获取展位信息审核.
     *
     * @param reportSiteAuditDTO the report site audit dto
     * @return the report site audit
     */
    ReportSiteAudit getReportSiteAudit(ReportSiteAuditDTO reportSiteAuditDTO);

    /**
     * 提交展位信息审核.
     *
     * @param reportSiteAuditDTO the report site audit dto
     * @return the boolean
     */
    boolean submitReportSiteAudit(ReportSiteAuditDTO reportSiteAuditDTO);

    /**
     * 保存展位信息审核.
     *
     * @param reportSiteAuditDTO the report site audit dto
     * @return the boolean
     */
    boolean saveReportSiteAudit(ReportSiteAuditDTO reportSiteAuditDTO);

    /**
     * 更新展位信息审核.
     *
     * @param reportSiteAuditDTO the report site audit dto
     * @param reportSpaceAuditId the report space audit id
     * @return the boolean
     */
    @Deprecated
    boolean updateByReportSpaceAuditId(ReportSiteAuditDTO reportSiteAuditDTO, Long reportSpaceAuditId);

    /**
     * 报馆ID删除报馆展位审核记录.
     *
     * @param reportSpaceId the report space id
     * @return the boolean
     */
    boolean removeByReportSpaceId(Long reportSpaceId);
}
